Processing math: 100%

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

C++
C#

Стек

Стек представља колекцију података у коју се подаци додају по LIFO (енгл. last-in-first out) принципу - елемент се може додати само на врх и скинути само са врха стека.

У језику C++ стек се реализује класом stack<T> где T представља тип елемената на стеку. За њено коришћење потребно је укључити заглавље <stack>. Подржане су следеће методе (све сложености O(1)):

  • push - поставља дати елемент на врх стека
  • pop - скида елемент са врха стека (под претпоставком да стек није празан – ако је стек празан, понашање је недефинисано и може доћи до насилног прекида рада програма). Нагласимо да је ова метода типа void и да не враћа уклоњени елемент.
  • top - очитава елемент на врху стека (под претпоставком да стек није празан)
  • empty - проверава да ли је стек празан
  • size - враћа број елемената на стеку.

Ако се на стеку чувају уређени парови или n-торке, тада се уместо методе push, може користити метода emplace, којој се само редом наводе елементи пара тј. n-торке (није потребно посебно позивати функцију за креирање пара тј. n-торке, што је неопходно када се користи push).

Стек у језику C++ је заправо само адаптер око неке колекције података (подразумевано вектора) који корисника тера да поштује правила приступа стеку и спречава да направи операцију која над стеком није допуштена (попут приступа неком елементу испод врха).

Стек

Стек представља колекцију података у коју се подаци додају по LIFO (енгл. last-in-first out) принципу - елемент се може додати само на врх и скинути само са врха стека.